14 research outputs found

    Understanding scientific application's performance

    Get PDF
    Improve Earth System model's scalability in High Performance Computing infrastructure is crucial to achieve efficiency in upcoming supercomputers. We study how to increase the scalability of the widely used Oceanic Model of the Nucleus for European Modelling of the Ocean (NEMO)

    Exploring the use of mixed precision in NEMO

    Get PDF
    It has been a widely extended practice in scientific computing to use 64-bit to represent data without even considering which level of precision is really needed. In many applications, 32-bit should provide enough accuracy, and in other cases 64-bit is not enough. In climate science, the inherent difficulties collecting data imply a considerable level of uncertainty, which suggest that the general use of 64-bit to represent the data may be a waste of resources, while on the other hand, some specific algorithms could benefit from an increment of the precision used. These factors suggest that in the future more attention has to be paid to the precision used in scientific software, to use the resources wisely and also avoid losing accuracy. In this work we question whether the precision used in the oceanic model NEMO is necessary and sufficient, and the potential benefits of adjusting this precision

    How to use mixed precision in ocean models : Exploring a potential reduction of numerical precision in NEMO 4.0 and ROMS 3.6

    Get PDF
    ceived funding from the EU ESiWACE H2020 Framework Programme under grant agreement no. 823988, from the Severo Ochoa (SEV-2011-00067) program of the Spanish Government and from the Ministerio de Economia y Competitividad under contract TIN2017-84553-C2-1-R.Mixed-precision approaches can provide substantial speed-ups for both computing- and memory-bound codes with little effort. Most scientific codes have overengineered the numerical precision, leading to a situation in which models are using more resources than required without knowing where they are required and where they are not. Consequently, it is possible to improve computational performance by establishing a more appropriate choice of precision. The only input that is needed is a method to determine which real variables can be represented with fewer bits without affecting the accuracy of the results. This paper presents a novel method that enables modern and legacy codes to benefit from a reduction of the precision of certain variables without sacrificing accuracy. It consists of a simple idea: we reduce the precision of a group of variables and measure how it affects the outputs. Then we can evaluate the level of precision that they truly need. Modifying and recompiling the code for each case that has to be evaluated would require a prohibitive amount of effort. Instead, the method presented in this paper relies on the use of a tool called a reduced-precision emulator (RPE) that can significantly streamline the process. Using the RPE and a list of parameters containing the precisions that will be used for each real variable in the code, it is possible within a single binary to emulate the effect on the outputs of a specific choice of precision. When we are able to emulate the effects of reduced precision, we can proceed with the design of the tests that will give us knowledge of the sensitivity of the model variables regarding their numerical precision. The number of possible combinations is prohibitively large and therefore impossible to explore. The alternative of performing a screening of the variables individually can provide certain insight about the required precision of variables, but, on the other hand, other complex interactions that involve several variables may remain hidden. Instead, we use a divide-and-conquer algorithm that identifies the parts that require high precision and establishes a set of variables that can handle reduced precision. This method has been tested using two state-of-the-art ocean models, the Nucleus for European Modelling of the Ocean (NEMO) and the Regional Ocean Modeling System (ROMS), with very promising results. Obtaining this information is crucial to build an actual mixed-precision version of the code in the next phase that will bring the promised performance benefits

    Using EC-Earth for climate prediction research

    Get PDF
    Climate prediction at the subseasonal to interannual time range is now performed routinely and operationally by an increasing number of institutions. The feasibility of climate prediction largely depends on the existence of slow and predictable variations in the ocean surface temperature, sea ice, soil moisture and snow cover, and on our ability to model the atmosphere’s interactions with those variables. Climate prediction is typically performed with statistical-empirical or process-based models. The two methods are complementary. Although forecasting systems using global climate models (GCMs) have made substantial progress in the last few decades (Doblas-Reyes et al., 2013), systematic errors and misrepresentations of key processes still limit the value of dynamical prediction in certain areas of the globe. At the same time, model initialisation, ensemble generation, understanding the processes at the origin of predictability, forecasting extremes, bias adjustment and model evaluation are all challenging aspects of the climate prediction problem. Addressing them requires both a large base of researchers with expertise in physics, mathematics, statistics, high-performance computing and data analysis interested in climate prediction issues and a tool for them to work with. This article illustrates how one of these tools, the EC-Earth climate model (Box A), has been used to train scientists in climate prediction and to address scientific challenges in this field. The use of model components from ECMWF’s Integrated Forecasting System (IFS) in EC-Earth means that some of the results obtained with EC-Earth can feed back into ECMWF’s activities. EC-Earth has been run extensively on ECMWF’s high-performance computing facility (HPCF), among a range of HPCFs across Europe and North America. The availability of ECMWF’s HPCF to EC-Earth partners, including the use of the successful ECMWF Special Project programme, means that a substantial amount of EC-Earth’s collaborative work, both within the consortium and with ECMWF, takes place on this platform.Postprint (published version

    The EC-Earth3 Earth system model for the Coupled Model Intercomparison Project 6

    Get PDF
    The Earth system model EC-Earth3 for contributions to CMIP6 is documented here, with its flexible coupling framework, major model configurations, a methodology for ensuring the simulations are comparable across different high-performance computing (HPC) systems, and with the physical performance of base configurations over the historical period. The variety of possible configurations and sub-models reflects the broad interests in the EC-Earth community. EC-Earth3 key performance metrics demonstrate physical behavior and biases well within the frame known from recent CMIP models. With improved physical and dynamic features, new Earth system model (ESM) components, community tools, and largely improved physical performance compared to the CMIP5 version, EC-Earth3 represents a clear step forward for the only European community ESM. We demonstrate here that EC-Earth3 is suited for a range of tasks in CMIP6 and beyond.The development of EC-Earth3 was supported by the European Union's Horizon 2020 research and innovation program under project IS-ENES3, the third phase of the distributed e-infrastructure of the European Network for Earth System Modelling (ENES) (grant agreement no. 824084, PRIMAVERA grant no. 641727, and CRESCENDO grant no. 641816). Etienne Tourigny and Raffaele Bernardello have received funding from the European Union’s Horizon 2020 research and innovation program under Marie Skłodowska-Curie grant agreement nos. 748750 (SPFireSD project) and 708063 (NeTNPPAO project). Ivana Cvijanovic was supported by Generalitat de Catalunya (Secretaria d'Universitats i Recerca del Departament d’Empresa i Coneixement) through the Beatriu de Pinós program. Yohan Ruprich-Robert was funded by the European Union's Horizon 2020 research and innovation program in the framework of Marie Skłodowska-Curie grant INADEC (grant agreement 800154). Paul A. Miller, Lars Nieradzik, David Wårlind, Roland Schrödner, and Benjamin Smith acknowledge financial support from the strategic research area “Modeling the Regional and Global Earth System” (MERGE) and the Lund University Centre for Studies of Carbon Cycle and Climate Interactions (LUCCI). Paul A. Miller, David Wårlind, and Benjamin Smith acknowledge financial support from the Swedish national strategic e-science research program eSSENCE. Paul A. Miller further acknowledges financial support from the Swedish Research Council (Vetenskapsrådet) under project no. 621-2013-5487. Shuting Yang acknowledges financial support from a Synergy Grant from the European Research Council under the European Community's Seventh Framework Programme (FP7/2007-2013)/ERC (grant agreement 610055) as part of the ice2ice project and the NordForsk-funded Nordic Centre of Excellence project (award 76654) ARCPATH. Marianne Sloth Madsen acknowledges financial support from the Danish National Center for Climate Research (NCKF). Andrea Alessandri and Peter Anthoni acknowledge funding from the Helmholtz Association in its ATMO program. Thomas Arsouze, Arthur Ramos, and Valentina Sicardi received funding from the Ministerio de Ciencia, Innovación y Universidades as part of the DeCUSO project (CGL2017-84493-R).​​​​​​​Peer Reviewed"Article signat per 61 autors/es: Ralf Döscher, Mario Acosta, Andrea Alessandri, Peter Anthoni, Thomas Arsouze, Tommi Bergman, Raffaele Bernardello, Souhail Boussetta, Louis-Philippe Caron, Glenn Carver, Miguel Castrillo, Franco Catalano, Ivana Cvijanovic, Paolo Davini, Evelien Dekker, Francisco J. Doblas-Reyes, David Docquier, Pablo Echevarria, Uwe Fladrich, Ramon Fuentes-Franco, Matthias Gröger, Jost v. Hardenberg, Jenny Hieronymus, M. Pasha Karami, Jukka-Pekka Keskinen, Torben Koenigk, Risto Makkonen, François Massonnet, Martin Ménégoz, Paul A. Miller, Eduardo Moreno-Chamarro, Lars Nieradzik, Twan van Noije, Paul Nolan, Declan O'Donnell, Pirkka Ollinaho11, Gijs van den Oord, Pablo Ortega, Oriol Tintó Prims, Arthur Ramos, Thomas Reerink, Clement Rousset, Yohan Ruprich-Robert, Philippe Le Sager, Torben Schmith, Roland Schrödner, Federico Serva, Valentina Sicardi, Marianne Sloth Madsen, Benjamin Smith, Tian Tian, Etienne Tourigny, Petteri Uotila, Martin Vancoppenolle, Shiyu Wang, David Wårlind, Ulrika Willén, Klaus Wyser, Shuting Yang, Xavier Yepes-Arbós, and Qiong Zhang"Postprint (author's final draft

    The EC-Earth3 Earth system model for the Coupled Model Intercomparison Project 6

    Get PDF
    The Earth system model EC-Earth3 for contributions to CMIP6 is documented here, with its flexible coupling framework, major model configurations, a methodology for ensuring the simulations are comparable across different high-performance computing (HPC) systems, and with the physical performance of base configurations over the historical period. The variety of possible configurations and sub-models reflects the broad interests in the EC-Earth community. EC-Earth3 key performance metrics demonstrate physical behavior and biases well within the frame known from recent CMIP models. With improved physical and dynamic features, new Earth system model (ESM) components, community tools, and largely improved physical performance compared to the CMIP5 version, EC-Earth3 represents a clear step forward for the only European community ESM. We demonstrate here that EC-Earth3 is suited for a range of tasks in CMIP6 and beyond.Peer reviewe

    NEMO: computational challenges in ocean simulation

    No full text
    Els oceans juguen un paper molt important modulant la temperatura de la Terra absorbint, emmagatzemant i transportant l'energia que ens arriba del sol. Entendre millor la dinàmica dels oceans pot ajudar a millorar les prediccions meteorològiques i a comprendre millor el clima, qüestions d'especial rellevància per la societat. Utilitzant ordinadors ha sigut possible resoldre numèricament les equacions que descriuen la dinàmica dels oceans, i millorant com els models oceànics exploten els recursos computacionals, podem reduir el cost de les simulacions alhora que fem possibles nous desenvolupaments que milloraràn la qualitat científica dels models. Enfrontant els reptes computacionals de la simulació oceànica podem contribuir en camps que tenen un impacte directe en la societat mentre reduïm el cost dels experiments. Per ser un dels principals models oceànics, la tesis s'ha centrat en el model NEMO. Per tal de millorar el rendiment dels models oceànics, un dels objectius inicials va ser entendre millor el seu comportament computacional. Per aconseguir-ho, es va proposar una metodologia d'anàlisis, posant especial atenció en les comunicacions entre processos. Utilitzada amb NEMO, va ajudar a resaltar diverses ineficiències en la implementació que, un cop sol·lucionades, van portar a una millora del 46-49% en la velocitat màxima del model, tot millorant la seva escalabilitat. Aquest resultat ilustra que aquest tipus d'anàlisis poden ajudar als desenvolupadors dels models a adaptar-los tot mostrant l'origen dels problemes que pateixen. Un altre dels problemes detectats va ser que l'impacte d'escollir una descomposició de domini concreta estava molt subestimat, ja que en certes circumstàncies el model triava una descomposició sub-optima. Tenint en compte els factors que fan que una descomposició concreta afecti el rendiment del model, es va proposar un mètode per fer una selecció òptima. Els resultats mostren que parant atenció a la descomposició no només es poden estalviar recursos sinó que la velocitat màxima del model també se'n beneficia, arribant al 41% de millora en alguns casos. Després dels èxits aconseguits en la primera part de la tesis, arribant a doblar la velocitat màxima del model, l'atenció es va posar sobre els algoritmes de precisió mixta. Idealment, un ús adequat de la precisió numèrica ha de permetre millorar el rendiment d'un model sense perjudicar-ne els resultats. Per tal d'aconseguir-ho en models oceànics, es va desenvolupar un mètode que permet determinar quina és la precisió necessària en cada una de las variables d'un codi informàtic. Utilitzat amb NEMO i ROMS va resultar que en ambdós models la major part de les variables pot utilitzar sense problema menys precisió que els 64-bits habituals, mostrant que potencialment els models oceànics es poden beneficiar molt d'una reducció de la precisió numèrica. Finalment, durant el desenvolupament de la tesi es va observar que degut a la no-linealitat dels models oceànics, determinar si un canvi en el codi informàtic perjudica la qualitat dels resultats esdevé molt complicat. Per solucionar-ho, es va presentar un mètode per verificar els resultats de models no-lineals. Encara que les contribucions que donen forma a aquesta tesis han sigut diverses, conjuntament han ajudat a identificar i combatre els reptes computacionals que afecten els models oceànics. Aquestes contribucions no només han resultat en quatre publicacions sinó que també han resultat en la contribució al codi informàtic de NEMO i del consorci EC-Earth. Per tant, els resultat de la recerca realitzada ja estan tenint un impacte positiu en la comunitat, ajudant als usuaris dels models a estalviar recursos i temps. A més a més, aquestes contribucions no només han ajudat a millorar significativament el rendiment computacional de NEMO sinó que han sobrepassat l'objectiu inicial de la tesis i poden ser transferibles a altres models computacionals.The ocean plays a very important role in modulating the temperature of the Earth through absorbing, storing and transporting the energy that arrives from the sun. Better understanding the dynamics of the ocean can help us to better predict the weather and to better comprehend the climate, two topics of special relevance for society. Ocean models had become an extremely useful tools, as they became a framework upon with it was possible to build knowledge. Using computers it became possible to numerically solve the fluid equations of the ocean and by improving how ocean models exploit the computational resources, we can reduce the cost of simulation whilst enabling new developments that will increase its skill. By facing the computational challenges of ocean simulation we can contribute to topics that have a direct impact on society whilst helping to reduce the cost of our experiments. Being the major European ocean model and one of the main state-of-the-art ocean models worldwide, this thesis has focused on the Nucleus NEMO. To find a way to improve the computational performance of ocean models, one of the initial goals was to better understand their computational behaviour. To do so, an analysis methodology was proposed, paying special attention to inter-process communication. Used with NEMO, the methodology helped to highlight several implementation inefficiencies, whose optimization led to a 46-49\% gain in the maximum model throughput, increasing the scalability of the model. This result illustrated that this kind of analysis can significantly help model developers to adapt their code highlighting where the problems really are. Another of the issues detected was that the impact of the domain decomposition was alarmingly underestimated, since in certain circumstances the model's algorithm was selecting a sub-optimal decomposition. Taking into account the factors that make a specific decomposition impact the performance, a method to select an optimal decomposition was proposed. The results showed that that by a wise selection of the domain decomposition it was possible not only to save resources but also to increase the maximum model throughput by a 41\% in some cases. After the successes achieved during the first part of the thesis, that allowed an increase of the maximum throughput of the model by a factor of more than two, the attention focused on mixed-precision algorithms. Ideally, a proper usage of numerical precision would allow to improve the computational performance without sacrificing accuracy. In order to achieve that in ocean models, a method to find out the precision required for each one of the real variables in a code was presented. The method was used with NEMO and with the Regional Ocean Modelling System showing that in both models most of the variables could use less than the standard 64-bit without problems. Last but not least, it was found that being ocean models nonlinear it was not straightforward to determine whether a change made into the code was deteriorating the accuracy of the model or not. In order to solve this problem a method to verify the accuracy of a non-linear model was presented. Although the different contributions that gave form to this thesis have been diverse, they helped to identify and tackle computational challenges that affect computational ocean models. These contributions resulted in four peer-reviewed publications and many outreach activities. Moreover, the research outcomes have reached NEMO and EC-Earth consortium codes, having already helped model users to save resources and time. These contributions not only have significantly improved the computational performance of the NEMO model but have surpassed the original scope of the thesis and would be easily transferable to other computational models

    NEMO: computational challenges in ocean simulation

    No full text
    Els oceans juguen un paper molt important modulant la temperatura de la Terra absorbint, emmagatzemant i transportant l'energia que ens arriba del sol. Entendre millor la dinàmica dels oceans pot ajudar a millorar les prediccions meteorològiques i a comprendre millor el clima, qüestions d'especial rellevància per la societat. Utilitzant ordinadors ha sigut possible resoldre numèricament les equacions que descriuen la dinàmica dels oceans, i millorant com els models oceànics exploten els recursos computacionals, podem reduir el cost de les simulacions alhora que fem possibles nous desenvolupaments que milloraràn la qualitat científica dels models. Enfrontant els reptes computacionals de la simulació oceànica podem contribuir en camps que tenen un impacte directe en la societat mentre reduïm el cost dels experiments. Per ser un dels principals models oceànics, la tesis s'ha centrat en el model NEMO. Per tal de millorar el rendiment dels models oceànics, un dels objectius inicials va ser entendre millor el seu comportament computacional. Per aconseguir-ho, es va proposar una metodologia d'anàlisis, posant especial atenció en les comunicacions entre processos. Utilitzada amb NEMO, va ajudar a resaltar diverses ineficiències en la implementació que, un cop sol·lucionades, van portar a una millora del 46-49% en la velocitat màxima del model, tot millorant la seva escalabilitat. Aquest resultat ilustra que aquest tipus d'anàlisis poden ajudar als desenvolupadors dels models a adaptar-los tot mostrant l'origen dels problemes que pateixen. Un altre dels problemes detectats va ser que l'impacte d'escollir una descomposició de domini concreta estava molt subestimat, ja que en certes circumstàncies el model triava una descomposició sub-optima. Tenint en compte els factors que fan que una descomposició concreta afecti el rendiment del model, es va proposar un mètode per fer una selecció òptima. Els resultats mostren que parant atenció a la descomposició no només es poden estalviar recursos sinó que la velocitat màxima del model també se'n beneficia, arribant al 41% de millora en alguns casos. Després dels èxits aconseguits en la primera part de la tesis, arribant a doblar la velocitat màxima del model, l'atenció es va posar sobre els algoritmes de precisió mixta. Idealment, un ús adequat de la precisió numèrica ha de permetre millorar el rendiment d'un model sense perjudicar-ne els resultats. Per tal d'aconseguir-ho en models oceànics, es va desenvolupar un mètode que permet determinar quina és la precisió necessària en cada una de las variables d'un codi informàtic. Utilitzat amb NEMO i ROMS va resultar que en ambdós models la major part de les variables pot utilitzar sense problema menys precisió que els 64-bits habituals, mostrant que potencialment els models oceànics es poden beneficiar molt d'una reducció de la precisió numèrica. Finalment, durant el desenvolupament de la tesi es va observar que degut a la no-linealitat dels models oceànics, determinar si un canvi en el codi informàtic perjudica la qualitat dels resultats esdevé molt complicat. Per solucionar-ho, es va presentar un mètode per verificar els resultats de models no-lineals. Encara que les contribucions que donen forma a aquesta tesis han sigut diverses, conjuntament han ajudat a identificar i combatre els reptes computacionals que afecten els models oceànics. Aquestes contribucions no només han resultat en quatre publicacions sinó que també han resultat en la contribució al codi informàtic de NEMO i del consorci EC-Earth. Per tant, els resultat de la recerca realitzada ja estan tenint un impacte positiu en la comunitat, ajudant als usuaris dels models a estalviar recursos i temps. A més a més, aquestes contribucions no només han ajudat a millorar significativament el rendiment computacional de NEMO sinó que han sobrepassat l'objectiu inicial de la tesis i poden ser transferibles a altres models computacionals.The ocean plays a very important role in modulating the temperature of the Earth through absorbing, storing and transporting the energy that arrives from the sun. Better understanding the dynamics of the ocean can help us to better predict the weather and to better comprehend the climate, two topics of special relevance for society. Ocean models had become an extremely useful tools, as they became a framework upon with it was possible to build knowledge. Using computers it became possible to numerically solve the fluid equations of the ocean and by improving how ocean models exploit the computational resources, we can reduce the cost of simulation whilst enabling new developments that will increase its skill. By facing the computational challenges of ocean simulation we can contribute to topics that have a direct impact on society whilst helping to reduce the cost of our experiments. Being the major European ocean model and one of the main state-of-the-art ocean models worldwide, this thesis has focused on the Nucleus NEMO. To find a way to improve the computational performance of ocean models, one of the initial goals was to better understand their computational behaviour. To do so, an analysis methodology was proposed, paying special attention to inter-process communication. Used with NEMO, the methodology helped to highlight several implementation inefficiencies, whose optimization led to a 46-49\% gain in the maximum model throughput, increasing the scalability of the model. This result illustrated that this kind of analysis can significantly help model developers to adapt their code highlighting where the problems really are. Another of the issues detected was that the impact of the domain decomposition was alarmingly underestimated, since in certain circumstances the model's algorithm was selecting a sub-optimal decomposition. Taking into account the factors that make a specific decomposition impact the performance, a method to select an optimal decomposition was proposed. The results showed that that by a wise selection of the domain decomposition it was possible not only to save resources but also to increase the maximum model throughput by a 41\% in some cases. After the successes achieved during the first part of the thesis, that allowed an increase of the maximum throughput of the model by a factor of more than two, the attention focused on mixed-precision algorithms. Ideally, a proper usage of numerical precision would allow to improve the computational performance without sacrificing accuracy. In order to achieve that in ocean models, a method to find out the precision required for each one of the real variables in a code was presented. The method was used with NEMO and with the Regional Ocean Modelling System showing that in both models most of the variables could use less than the standard 64-bit without problems. Last but not least, it was found that being ocean models nonlinear it was not straightforward to determine whether a change made into the code was deteriorating the accuracy of the model or not. In order to solve this problem a method to verify the accuracy of a non-linear model was presented. Although the different contributions that gave form to this thesis have been diverse, they helped to identify and tackle computational challenges that affect computational ocean models. These contributions resulted in four peer-reviewed publications and many outreach activities. Moreover, the research outcomes have reached NEMO and EC-Earth consortium codes, having already helped model users to save resources and time. These contributions not only have significantly improved the computational performance of the NEMO model but have surpassed the original scope of the thesis and would be easily transferable to other computational models

    NEMO: computational challenges in ocean simulation /

    Get PDF
    Departament responsable de la tesi: Departament d'Arquitectura de Computadors i Sistemes Operatius.Els oceans juguen un paper molt important modulant la temperatura de la Terra absorbint, emmagatzemant i transportant l'energia que ens arriba del sol. Entendre millor la dinàmica dels oceans pot ajudar a millorar les prediccions meteorològiques i a comprendre millor el clima, qüestions d'especial rellevància per la societat. Utilitzant ordinadors ha sigut possible resoldre numèricament les equacions que descriuen la dinàmica dels oceans, i millorant com els models oceànics exploten els recursos computacionals, podem reduir el cost de les simulacions alhora que fem possibles nous desenvolupaments que milloraràn la qualitat científica dels models. Enfrontant els reptes computacionals de la simulació oceànica podem contribuir en camps que tenen un impacte directe en la societat mentre reduïm el cost dels experiments. Per ser un dels principals models oceànics, la tesis s'ha centrat en el model NEMO.Per tal de millorar el rendiment dels models oceànics, un dels objectius inicials va ser entendre millor el seu comportament computacional. Per aconseguir-ho, es va proposar una metodologia d'anàlisis, posant especial atenció en les comunicacions entre processos. Utilitzada amb NEMO, va ajudar a resaltar diverses ineficiències en la implementació que, un cop sol·lucionades, van portar a una millora del 46-49% en la velocitat màxima del model, tot millorant la seva escalabilitat. Aquest resultat ilustra que aquest tipus d'anàlisis poden ajudar als desenvolupadors dels models a adaptar-los tot mostrant l'origen dels problemes que pateixen. Un altre dels problemes detectats va ser que l'impacte d'escollir una descomposició de domini concreta estava molt subestimat, ja que en certes circumstàncies el model triava una descomposició sub-optima. Tenint en compte els factors que fan que una descomposició concreta afecti el rendiment del model, es va proposar un mètode per fer una selecció òptima. Els resultats mostren que parant atenció a la descomposició no només es poden estalviar recursos sinó que la velocitat màxima del model també se'n beneficia, arribant al 41% de millora en alguns casos. Després dels èxits aconseguits en la primera part de la tesis, arribant a doblar la velocitat màxima del model, l'atenció es va posar sobre els algoritmes de precisió mixta. Idealment, un ús adequat de la precisió numèrica ha de permetre millorar el rendiment d'un model sense perjudicar-ne els resultats. Per tal d'aconseguir-ho en models oceànics, es va desenvolupar un mètode que permet determinar quina és la precisió necessària en cada una de las variables d'un codi informàtic. Utilitzat amb NEMO i ROMS va resultar que en ambdós models la major part de les variables pot utilitzar sense problema menys precisió que els 64-bits habituals, mostrant que potencialment els models oceànics es poden beneficiar molt d'una reducció de la precisió numèrica. Finalment, durant el desenvolupament de la tesi es va observar que degut a la no-linealitat dels models oceànics, determinar si un canvi en el codi informàtic perjudica la qualitat dels resultats esdevé molt complicat. Per solucionar-ho, es va presentar un mètode per verificar els resultats de models no-lineals.Encara que les contribucions que donen forma a aquesta tesis han sigut diverses, conjuntament han ajudat a identificar i combatre els reptes computacionals que afecten els models oceànics. Aquestes contribucions no només han resultat en quatre publicacions sinó que també han resultat en la contribució al codi informàtic de NEMO i del consorci EC-Earth. Per tant, els resultat de la recerca realitzada ja estan tenint un impacte positiu en la comunitat, ajudant als usuaris dels models a estalviar recursos i temps. A més a més, aquestes contribucions no només han ajudat a millorar significativament el rendiment computacional de NEMO sinó que han sobrepassat l'objectiu inicial de la tesis i poden ser transferibles a altres models computacionals.The ocean plays a very important role in modulating the temperature of the Earth through absorbing, storing and transporting the energy that arrives from the sun. Better understanding the dynamics of the ocean can help us to better predict the weather and to better comprehend the climate, two topics of special relevance for society. Ocean models had become an extremely useful tools, as they became a framework upon with it was possible to build knowledge. Using computers it became possible to numerically solve the fluid equations of the ocean and by improving how ocean models exploit the computational resources, we can reduce the cost of simulation whilst enabling new developments that will increase its skill. By facing the computational challenges of ocean simulation we can contribute to topics that have a direct impact on society whilst helping to reduce the cost of our experiments. Being the major European ocean model and one of the main state-of-the-art ocean models worldwide, this thesis has focused on the Nucleus NEMO. To find a way to improve the computational performance of ocean models, one of the initial goals was to better understand their computational behaviour. To do so, an analysis methodology was proposed, paying special attention to inter-process communication. Used with NEMO, the methodology helped to highlight several implementation inefficiencies, whose optimization led to a 46-49\% gain in the maximum model throughput, increasing the scalability of the model. This result illustrated that this kind of analysis can significantly help model developers to adapt their code highlighting where the problems really are. Another of the issues detected was that the impact of the domain decomposition was alarmingly underestimated, since in certain circumstances the model's algorithm was selecting a sub-optimal decomposition. Taking into account the factors that make a specific decomposition impact the performance, a method to select an optimal decomposition was proposed. The results showed that that by a wise selection of the domain decomposition it was possible not only to save resources but also to increase the maximum model throughput by a 41\% in some cases. After the successes achieved during the first part of the thesis, that allowed an increase of the maximum throughput of the model by a factor of more than two, the attention focused on mixed-precision algorithms. Ideally, a proper usage of numerical precision would allow to improve the computational performance without sacrificing accuracy. In order to achieve that in ocean models, a method to find out the precision required for each one of the real variables in a code was presented. The method was used with NEMO and with the Regional Ocean Modelling System showing that in both models most of the variables could use less than the standard 64-bit without problems. Last but not least, it was found that being ocean models nonlinear it was not straightforward to determine whether a change made into the code was deteriorating the accuracy of the model or not. In order to solve this problem a method to verify the accuracy of a non-linear model was presented. Although the different contributions that gave form to this thesis have been diverse, they helped to identify and tackle computational challenges that affect computational ocean models. These contributions resulted in four peer-reviewed publications and many outreach activities. Moreover, the research outcomes have reached NEMO and EC-Earth consortium codes, having already helped model users to save resources and time. These contributions not only have significantly improved the computational performance of the NEMO model but have surpassed the original scope of the thesis and would be easily transferable to other computational models

    Finding, analysing and solving MPI communication bottlenecks in Earth System models

    No full text
    It is a matter of consensus that the ability to efficiently use current and future high performance computing systems is crucial for science, however, the reality is that the performance currently achieved by most of the parallel scientific applications is far from desired. Despite inter-process communication has already been a matter of study in many different works, it is a fact that their recommendations are not taken into account in most of computational model development processes, at least in the case of Earth Science. This work presents a methodology that aims to help scientists working with computational models using inter-process communication, to deal with the difficulties they face when trying to understand their applications behaviour. Following a series of steps that are presented here, both users and developers will learn how to identify performance issues by characterizing applications scalability, identifying which parts present a bad performance and understand the role that inter-process communication plays. In this work, the Nucleus for European Modelling of the Ocean (NEMO), the state-of-the-art European global ocean circulation model, will be used as an example of success. It is a community code widely used in Europe, to the extent that more than a hundred million core hours are used every year in experiments involving NEMO. In the analysis exercise, it is shown how to answer the questions of where, why and what is degrading model's scalability, and how this information can help developers in finding solutions that will mitigate their eventual issues. This document also demonstrates how performance analysis carried out with small size experiments, using limited resources, can lead to optimizations that will impact bigger experiments running on thousands of cores, making it easier to deal with the exascale challenge
    corecore